諮詢了筆電螢幕的修理費要兩萬多,其實再多一點好像就可以組桌機了是嗎。
大概要開啟筆電桌機化時代了。
ManagedSetting 這個框架主要是用來限制使用時間,另外也可以讓家長用來做內容的篩選。而另外兩個很常一起被用到的框架,就是很久之前提到過的 FamilyControls 和 DeviceActivity。ManagedSetting 裡面最常用的就是 ManagedSettingsStore,用來管理對 app 的設定。
import ManagedSettings
extension ManagedSettingsStore.Name {
static let gaming = Self("gaming")
static let social = Self("social")
}
func worklogSetup() {
let gamingCategory = ActivityCategoryToken(...)
let gamingStore = ManagedSettingsStore(named: .gaming)
gamingStore.shield.webDomainCategories = .specific([gamingCategory])
let socialCategory = ActivityCategoryToken(...)
let socialStore = ManagedSettingsStore(named: .social)
socialStore.shield.applicationCategories = .specific([socialCategory])
socialStore.shield.webDomainCategories = .specific([socialCategory])
}
上面這個範例是 WWDC 影片中的示範,這裡創建了兩個 ManagedSettingsStore,分別用來管理遊戲類和社交類相關內容的限制,並用 shield 設定屏蔽。
而 sheld 也有很多設定選項,像是用 applications 和 webDomains 限制特定的 app 和網站,applicationCategories 和 webDomainCategories 則是限制特定類別。而 denyAppInstallation, denyAppRemoval 則是防止安裝或刪除 app,看起來有點可怕的工程。另外也有 webContent.blockedByFilter 拿來做內容過濾,media.movieRating 和 media.tvShowRating 則用來做分級。